package iotAPI

import (
	"gitee.com/fierce_wolf/go-fox-edge-common/commEntity"
	"gitee.com/fierce_wolf/go-fox-edge-common/commEntityManager"
	"gitee.com/fierce_wolf/go-fox-edge-common/commLogger"
	"gitee.com/fierce_wolf/go-fox-edge-common/commRedisService"
	"gitee.com/fierce_wolf/go-fox-edge-common/commSql"
)

type iotDefaultEntityManager struct {
}

func (e *iotDefaultEntityManager) Instance() {
	consumer := commRedisService.IRedisManager.GetRedisConsumer()
	consumer[commEntity.Type.ConfigEntity.Type()] = nil
}

func (e *iotDefaultEntityManager) InitLoadEntity() {
	commEntityManager.InitLoadEntity()
}

// InitDBConnect 初始化数据库连接：默认不报错，真要使用数据库连接，请在自己的工程中import数据库驱动。如果需要自行导入数据库脚本，那么则在自己的工程中重载这个接口
func (e *iotDefaultEntityManager) InitDBConnect() {
	// 连接MYSQL数据库
	if commSql.GetDBType() == "mysql" {
		err := commSql.Client.ConnectMySQL()
		if err != nil {
			return
		}

		commLogger.Info("MySQL数据库连接成功！")
		return
	}

	// 连接SQLite3数据库
	if commSql.GetDBType() == "sqlite3" {
		// 打开数据库
		err := commSql.Client.ConnectSQLite("fox-edge.db")
		if err != nil {
			return
		}

		commLogger.Info("SQLite数据库连接成功！")
		return
	}
}
